package com.bgs.travelapp.userRealBinds.service;

import com.bgs.travelapp.page.PageRequest;
import com.bgs.travelapp.result.CommonResult;
import com.bgs.travelapp.userRealBinds.entity.UserRealBindsEntity;

/**
 * 实名信息绑定
 * lzy 2022-8-17 08点45分
 */
public interface UserRealBindsService {

    /**
     * 获取实名信息列表（后台管理）
     * lzy 2022-8-17 11点28分
     * @param pageRequest
     * @return
     */
    CommonResult getUserRealBindsList(PageRequest pageRequest);

    /**
     * 获取用户账号 用于 绑定实例信息（后台管理）
     * lzy 2022-8-17 15点16分
     * @return
     */
    CommonResult getUserList();

    /**
     * 绑定（新增）实名信息（后台管理）
     * lzy 2022-8-17 15点22分
     * @param userRealBinds
     * @return
     */
    CommonResult saveUserRealBins(UserRealBindsEntity userRealBinds);

    /**
     * 校验当前账户是否已绑定当前实名信息（后台管理）
     * lzy 2022-8-17 19点22分
     * @param realName
     * @return
     */
    CommonResult checkRealName(String realName, Integer userId);

    /**
     * 校验当前账户是否已绑定当前实名身份证号（后台管理）
     * lzy 2022-8-17 19点46分
     * @param identity
     * @param userId
     * @return
     */
    CommonResult checkIdentity(String identity, Integer userId);

    /**
     * 删除实名信息（逻辑删除）（后台管理）
     * lzy 2022-8-17 20点04分
     * @param id
     * @return
     */
    CommonResult deleteUserRealBinds(Integer id);

    /**
     * 修改实例信息（后台管理）
     * lzy 2022-8-17 20点07分
     * @param userRealBindsEntity
     * @return
     */
    CommonResult editUserRealBinds(UserRealBindsEntity userRealBindsEntity);

    /**
     * 实名信息模糊查询（后台管理）
     * lzy 2022-8-17 20点45分
     * @param realName
     * @param identity
     * @param pageRequest
     * @return
     */
    CommonResult getUserRealBindsFind(PageRequest pageRequest,String realName, String identity);

    /**
     * 根据UserId取实名信息列表（前台展示）
     * lzy 2022-8-19 08点45分
     * @param userId
     * @return
     */
    CommonResult getUserRealBindsListView(Integer userId);

    /**
     * 批量删除实名信息（前台展示）
     * lzy 2022-8-21 20点30分
     * @param ids
     * @return
     */
    CommonResult deleteBatchUserRealBinds(Integer[] ids);
}
